Entity Framework (EF) হলো একটি Object-Relational Mapping (ORM) টুল, যা সি# প্রোগ্রামিং ভাষায় ডেটাবেস পরিচালনা করতে ব্যবহার করা হয়। এটি ডেটাবেসের টেবিলগুলিকে সি# অবজেক্ট হিসেবে ব্যবহার করতে দেয় এবং ডেটা ম্যানিপুলেশন আরও সহজ করে তোলে। Entity Framework ব্যবহার করলে সরাসরি SQL কুয়েরি লেখার প্রয়োজন হয় না; এটি ডেটাবেস অপারেশনের জন্য C# কোডে উচ্চ স্তরের (high-level) মেথড প্রদান করে।
Entity Framework তিনটি পদ্ধতিতে কাজ করতে পারে:
Entity Framework ব্যবহার করতে হলে প্রথমে NuGet Package Manager ব্যবহার করে Entity Framework ইনস্টল করতে হবে।
Install-Package EntityFramework
Code-First পদ্ধতিতে প্রথমে একটি C# মডেল ক্লাস তৈরি করা হয়, যা ডেটাবেস টেবিলের প্রতিনিধিত্ব করে।
public class Employee
{
public int ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
এখানে, Employee
নামের ক্লাসটি একটি টেবিল হিসেবে ব্যবহৃত হবে এবং এর ID
, Name
, এবং Age
প্রপার্টিগুলো টেবিলের কলাম হিসেবে কাজ করবে।
DbContext
ক্লাস Entity Framework এর মূল কাঠামো, যা ডাটাবেস অপারেশন পরিচালনা করে। এতে ডেটাবেস টেবিলের জন্য DbSet
ব্যবহার করা হয়।
using System.Data.Entity;
public class MyDbContext : DbContext
{
public DbSet<Employee> Employees { get; set; }
}
Entity Framework এর মাধ্যমে CRUD (Create, Read, Update, Delete) অপারেশন করা খুবই সহজ।
using (var context = new MyDbContext()) { var employee = new Employee { Name = "John Doe", Age = 30 }; context.Employees.Add(employee); context.SaveChanges(); }
using (var context = new MyDbContext())
{
var employees = context.Employees.ToList();
foreach (var employee in employees)
{
Console.WriteLine("ID: " + employee.ID + ", Name: " + employee.Name);
}
}
using (var context = new MyDbContext())
{
var employee = context.Employees.FirstOrDefault(e => e.ID == 1);
if (employee != null)
{
employee.Age = 35;
context.SaveChanges();
}
}
using (var context = new MyDbContext())
{
var employee = context.Employees.FirstOrDefault(e => e.ID == 1);
if (employee != null)
{
context.Employees.Remove(employee);
context.SaveChanges();
}
}
Entity Framework LINQ (Language-Integrated Query) সমর্থন করে, যা SQL কুয়েরির মতো কাজ করে।
using (var context = new MyDbContext())
{
var employees = context.Employees
.Where(e => e.Age > 25)
.OrderBy(e => e.Name)
.ToList();
foreach (var employee in employees)
{
Console.WriteLine("Name: " + employee.Name + ", Age: " + employee.Age);
}
}
Database-First পদ্ধতিতে, প্রথমে একটি বিদ্যমান ডাটাবেস থেকে মডেল তৈরি করা হয়। Visual Studio এ Database-First পদ্ধতি ব্যবহার করার ধাপগুলো নিচে দেওয়া হলো:
Entity Framework স্বয়ংক্রিয়ভাবে ক্লাস এবং DbContext তৈরি করে দেয়।
বৈশিষ্ট্য | ব্যবহার |
---|---|
Code-First | প্রথমে কোড লিখে ডেটাবেস তৈরি করা |
Database-First | প্রথমে ডাটাবেস থেকে মডেল তৈরি করা |
CRUD অপারেশন | Add, Read, Update, এবং Delete সহজে সম্পন্ন করা যায় |
LINQ সমর্থন | ডেটার উপর কোয়েরি চালাতে LINQ ব্যবহার করা যায় |
Entity Framework ব্যবহারে সি# ডেভেলপাররা খুব সহজে ডেটাবেস পরিচালনা করতে পারে, কোড ফার্স্ট ও ডেটাবেস ফার্স্ট পদ্ধতিতে ডেটা ম্যানেজমেন্ট আরো সহজ হয় এবং LINQ এর মাধ্যমে জটিল কুয়েরিগুলো সহজে করা সম্ভব।
আরও দেখুন...